﻿using System;
using System.ComponentModel.DataAnnotations.Schema;
using System.Security.Cryptography;
using TCC.ControleFluxoDeCaixa.Model.Contas;
using TCC.ControleFluxoDeCaixa.Model.Fluxo;

namespace TCC.ControleFluxoDeCaixa.Model.Relatorios
{
    public class ItemProjecao : IItemProjecao
    {
        public Categoria Categoria { get; set; }
        public DateTime DataFluxo { get; set; }
        public decimal Valor { get; set; }
        public ContaFinanceira ContaFinanceira { get; set; }
        public TipoItemDeFluxo Tipo { get; set; }

        public string Descricao { get; set; }

        public ItemProjecao(TipoItemDeFluxo tipo, ContaFinanceira contaFinanceira, Categoria categoria, DateTime dataFluxo, decimal valor, string descricao)
        {
            Categoria = categoria;
            DataFluxo = dataFluxo.Date;
            Valor = valor;
            ContaFinanceira = contaFinanceira;
            Tipo = tipo;
            Descricao = descricao;
        }
    }

    public enum TipoItemDeFluxo
    {
        Historico,
        Projetivo
    }
}
